<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    //定义一个函数
    // function add(...args){
    //   // arguments 是一个伪数组
    //   // console.log(arguments);
    //   // rest 参数是一个真正的数组
    //   console.log(args);
    // }
    // add(1,2,3,4,5,6,7,8);

    //箭头函数可用
    // let times = (...abc) => {
    //   console.log(abc);
    // }
    // times(1,2,3,4,5,6,10);

    //固定参数与 rest参数结合使用
    //在这种情况下, rest 参数必须要放置到最后
    // let test = (a,b,...args) => {
    //   console.log(a);
    //   console.log(b);
    //   console.log(args);
    // }
    // test(1,2,3,4,5);

    //与解构赋值结合使用
    let [va, vb, ...vc] = ['A','B','C','D'];
    console.log(va, vb);
    console.log(vc);

    let obj = {
      a: 100,
      b: 200,
      c: 300,
      d: 400
    };
    let {a,b,...args} = obj;
    console.log(a, b);
    console.log(args);
  </script>
</body>
</html>